﻿<!doctype html>
<html>

<head>
      <title>API接口方法说明</title>

      <vt:include file="../inc/meta_api.inc" />

      <link href="Styles/api.css?ver={$version}" rel="stylesheet" type="text/css" />
      <meta charset="utf-8">
</head>

<body>
      <header>
            ViewData API接口方法说明
      </header>
      <section>
            <menu id="menu">
                  <div class="tit"> <i class="el-icon-set-up"></i>API list
                       <div class="searchbox"> <i class="el-icon-search"></i>
                      <form>  <input type="text" name="search" id="apisearch" autofocus v-model="apisearch" />
                      </form>
                      </div>
                  </div>
                  <dl>
                        <dd v-for="(u,i) in apilist">
                              <methods :name="u.Name" :intro="u.Intro" :index="i+1"></methods>
                        </dd>
                         <dd v-if="apilist.length<1" class="noapi">
                              <span>没有接口信息</span>
                        </dd>
                  </dl>
            </menu>
            <context id="context"> 
                  <div class="method" v-if="method!=null">
                            <attr><b>特性：</b>
                              <span v-for="item in method.Attrs">[{{item.Name}}
                              <i v-show='item.Ignore'>
                                          (Ignore={{item.Ignore}})</i>  
                              <i v-show='item.Expires>0' title='缓存过期时间'>
                                          (Expires={{item.Expires}})</i>]  </span>
                              <span v-if="method.Attrs.length<1">无</span>
                        </attr>
                        <name>{{method.ClassName +'.'+method.Name}}<para>{{parameter}}</para></name>                        
                        <intro><b>摘要：</b>{{method.Intro}}</intro>                        
                        <params>
                              <table cellspacing="0" cellpadding="0" width="100%" border="0"
                                    v-show="method.Paras.length>0">
                                    <tr>
                                          <th width="40">#</th>
                                          <th width="100">参数</th>
                                          <th width="110">测试值</th>
                                          <th width="80">类型</th>
                                          <th>说明</th>
                                    </tr>
                                    <tr v-for="(item,index) in method.Paras">
                                          <td>{{index+1}}</td>
                                          <td>{{item.Name}}</td>
                                          <td><input type="text" :name="item.Name" v-on:input.prevent="teststring()" :datatype="item.Type"/></td>
                                          <td>{{item.Type.substring(item.Type.indexOf('.')+1)}}</td>
                                          <td>{{item.Intro}}</td>
                                    </tr>
                              </table>
                        </params>
                        <remarks v-if='method.Remarks.length>0'><b>备注：</b><div><pre>{{method.Remarks}}</pre></div></remarks>
                        <return><b>返回：</b>
                              <span class="type">{{method.Return.Type}}</span>
                              <div class="intro" v-if="method.Return.Intro.length>0"><pre>{{method.Return.Intro}}</pre></div>
                        </return>
                        <example v-if='method.Example.length>0'><b>示例：</b>
                              <pre>{{method.Example}}</pre>
                        </example>

                  </div>
                  <div class="testbox" v-if="method!=null" remark="测试接口">
                        <div class="test-tit">HTTP谓词：
                              <select id="httppre" v-on:change="teststring()" >
                                    <option value="get">GET</option>
                                    <option value="post">POST</option>
                                    <option value="delete">DELETE</option>
                                    <option value="put">PUT</option>
                                    <option value="patch">PATHCH</option>
                                    <option value="options">OPTIONS</option>
                              </select>
                              返回：
                              <select id="returntype">
                                    <option value="json">JSON</option>
                                    <option value="xml">XML</option>
                              </select>
                               
                              <button type="button" v-on:click="testapi">
                                    <span  v-show="!loading">测试</span>
                                    <span v-show='loading'> <i class='el-icon-loading' ></i> 加载中...</span>
                              </button>
                              <span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
                               <button id="btnCopy" v-on:click="btnCopyEvent">复制js执行脚本</button>
                                <button id="btnShow" v-on:click="showcode=!showcode" v-html="showcode ? '隐藏脚本' : '显示脚本'">

                                </button>
                        </div>
                         <textarea id="input_teststring" style="opacity: 0;position: absolute;top: -10px;right: -0px;" remark="用于复制示例代码"></textarea>
                        <div id="testarea">
                              <div v-show="showcode">
                              <span id="apiurl"></span> 
                                  
                                    <pre id="teststring"></pre>
                                   
                              
                        </div>
                            <pre id="testresult"></pre>
                             
                        </div>
                  </div>
                  <div v-if="method==null" class="homepage">
                        <h1>ViewData RESTful API 接口方法使用说明</h1>
                        <p>ViewData为数据层提供了一系列相关操作的接口方法，能够为多个终端提供支持，例如Web、手机端、电脑客户端等；所有接口基于Restful接口规范，可以返回Json或Xml格式数据。
                        </p>
                        <p>接口示例：http://www.domain.com/api/v1/xxx/ffff</p>
                        <p>可以用url拼接，如v1/xxx/ffff?acc=123456&pw=123，也可以构建参数对象传递。
                              参数名称大小写不敏感，参数的值大小写是敏感的。</p>
                        <P>
                              Authorization认证：</p>
                        <P> 这里对Authorization认证方式主要用来传递参数了，例如返回值类型、http谓词、来源页，并没有真正用到认证上的功能。
                              <p>Authorization认证有两部分组成user和pw，这里只用到了user，pw部分为空即可。</p>
                              <P>User的组成：</p>
                              <P>标识【weishakeji】 Http谓词【get|post】 返回值类型【json|xml】 来源页【可为空】</p>
                              <P>示例：weishakeji Post json null
                              </P>
                  </div>
            </context>
      </section>
      <footer>微厦计算机科技</footer>
      <script type="text/javascript" src="Scripts/api.js?ver={$version}"></script>
</body>

</html>